package com.mlming.springboot.service;

import com.mlming.springboot.form.CartAddForm;
import com.mlming.springboot.form.CartUpdateForm;
import com.mlming.springboot.pojo.Cart;
import com.mlming.springboot.vo.CartVo;
import com.mlming.springboot.vo.ResponseVo;

import java.util.List;

public interface CartService {
    /**
     * 往购物车添加商品
     */
    ResponseVo<CartVo> addCartItem(Integer userId, CartAddForm cartAddForm);

    /**
     * 返回购物车商品清单
     */
    ResponseVo<CartVo> getCartList(Integer userId);

    /**
     * 更新购物车
     */
    ResponseVo<CartVo> updateCartItem(Integer userId,Integer productId,CartUpdateForm cartUpdateForm);

    /**
     * 删除购物车
     */
    ResponseVo<CartVo> deleteCartItem(Integer userId,Integer productId);

    /**
     * 全选
     */
    ResponseVo<CartVo> selectAll(Integer userId);
    /**
     * 全不选
     */
    ResponseVo<CartVo> unSelectAll(Integer userId);

    /**
     * 返回购物车内商品总和
     */
    ResponseVo<Integer> sum(Integer userId);

    List<Cart> getCarts(Integer userId);
}
